package com.whmskj.xjlhsc.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.whmskj.xjlhsc.controller.vo.JtjcVo;
import com.whmskj.xjlhsc.entity.Sb02EquipmentCounterAccount;
import com.whmskj.xjlhsc.mobie.equipmentManage.entity.vo.*;
import com.whmskj.xjlhsc.view.entity.vo.ClassesRunEfficiencyVo;
import com.whmskj.xjlhsc.view.entity.vo.DeviceRunEfficiencyVo;
import com.whmskj.xjlhsc.view.entity.vo.ProcessMaintenanceNumVo;
import com.whmskj.xjlhsc.view.entity.vo.StateVo;
import org.apache.poi.ss.formula.functions.T;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

public interface Sb02EquipmentCounterAccountService extends IService<Sb02EquipmentCounterAccount> {
    Map<String, List<Sb02EquipmentCounterAccount>> findEquipmentList();

    List<Object> findZl(int id);

    Object findRealInfo(int id);

    Page<Object> findRealInfoWbList(int id);

    Page<Object> findRealInfoStopList(int id);

    Page<Object> findRealInfoCnList(int id);

    Object findParamInfo(int id);

    Object findDnInfo(int id);

    Object findJtdbInfo(String ids, String start, String end);

    Page<Object> findZbjInfo(int id);

    Object findWbTopInfo(int id);

    Page<Object> findWbHistoryInfo(int id, String xm);

    JtjcVo selectSmJtjc();//梳棉机台监测

    JtjcVo selectBtJtjc();//并条机台监测

    JtjcVo selectCsJtjc();//粗纱机台监测

    JtjcVo selectXsJtjc();//细纱机台监测

    JtjcVo selectLtJtjc();//络筒机台监测

    /**
     * 机台状态
     *
     * @param process
     * @return
     */
    List<StateVo> jtState(String process);

    /**
     * 机台数
     *
     * @param process
     * @param state
     * @param keyWord
     * @return
     */
    Map<String, Object> jtList(String process, String state, String keyWord);

    /**
     * 实时信息
     * @param mesId
     * @param deviceName
     * @param plantForm
     * @return
     */
//    Map<String,Object> realTimeInfo(Integer mesId, String deviceName,String plantForm);

    /**
     * 获取机台分组
     *
     * @param process
     * @return
     */
    List<List> machineGroup(String process);

    /**
     * 获取所有设备状态
     *
     * @return
     */
    List<StateVo> getDevicesState(String process);

    CarBlockingVo workInfo(Integer mesId, String deviceName);

    Object realTime(Integer mesId, String deviceName);

    List<ProductionCapacityVo> yiledPower(Integer mesId, String deviceName);

    List<RunStopCarVo> stopList(Integer mesId, String deviceName);

    ElectricalEnergyDataVO capacityInfo(Integer mesId, String deviceName);

    List<MachineVO> deviceCode(Integer mesId, String deviceName);

    List<ProductionCapacityVo> deviceCompareList(Integer mesId, String deviceName);

    List<SpecialInformationVO> partsList(Integer mesId, String deviceName);

    List<EquipmentMaintenanceVO> maintenanceList(Integer mesId, String deviceName);

    List<Map<String,Object>> deviceRunEfficiency(String dateType);

    List<HashMap<String, Object>> classesRunEfficiency(String startTime, String endTime);

    Map<String, Object> realTimeMonitor(Integer mesId);
}
